The Transmission Control Protocol/Internet Protocol (TCP/IP) is a well known and widely used suite of protocols for servicing data transmissions between two devices communicating information over a network such as the Internet. The TCP/IP suite of protocols provides for connection-oriented, reliable, and ordered delivery of a stream of information (i.e., payload data) between, for example, a web-browser application running on a client device and a web-server application running on a server device over a local or wide area network.
To facilitate communication using the TCP/IP protocol, network devices use an IP address (e.g., “207.99.20.142”) to uniquely identify and communicate with another device on the network. Human users, on the other hand, often prefer to use DNS or host names such as “www.xyz.com”, as it is much easier for humans to remember user-friendly host names than to work with long numerical IP addresses.
The user at a client device may thus enter a request for a desired resource (e.g., web-page) in the form of a Uniform Resource Locator (URL) into a web-browser application, where the URL identifies a network resource desired by the user and also contains the DNS or host name of a network device that is able to provide the desired resource. To service the user's request, the web-browser application may parse the URL to determine the host name (e.g., www.xyz.com) of the network device hosting the resource and to identify the desired resource (e.g., “home.html”).
In order to obtain the desired resource over the network, the web-browser application typically needs to resolve the host name into IP addresses that uniquely identify network devices hosting the desired resource.
While a particular IP address is uniquely assigned to a single network device, a host name is often associated with multiple IP addresses. Thus, upon resolving the host name that is shared by multiple network devices, the web-browser application often has a choice of several network devices from which it may request the desired resource, where each of the several network devices shares the common host name and has a different IP address.